#pragma once

#include <glibmm.h>
#include "../Shared/GObjHelpers.hpp"

namespace BuildNG
{
  class PkgConfig : public Object
  {
  public:
    static Glib::RefPtr<PkgConfig> get_pkg_config(const Glib::ustring &pkg_name);
    
    const Glib::ustring& get_cflags() const { return cflags; }
    const Glib::ustring& get_lib_flags() const { return lib_flags; }
    
  private:
    PkgConfig(const Glib::ustring &pkg_name);
    
    Glib::ustring pkg_name;
    
    Glib::ustring cflags;
    Glib::ustring lib_flags;
  };
  
  class PkgConfigException : public Exception
  {
  public:
    PkgConfigException(const Glib::ustring &msg)
      : Exception(msg)
    {
    }
  };
}
